<!--$Id: asr.so,v 1.3 2006/08/24 16:32:32 bostic Exp $-->
<!--Copyright (c) 1997,2008 Oracle.  All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB Reference Guide: Release 4.0: application-specific recovery</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<table width="100%"><tr valign=top>
<td><b><dl><dt>Berkeley DB Reference Guide:<dd>Upgrading Berkeley DB Applications</dl></b></td>
<td align=right><a href="../upgrade.4.0/cxx.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../upgrade.4.0/disk.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p align=center><b>Release 4.0: application-specific recovery</b></p>
<p>If you have created your own logging and recovery routines, you may need
to upgrade them to the Berkeley DB 4.0 release.</p>
<p>First, you should regenerate your logging, print, read and the other
automatically generated routines, using the dist/gen_rec.awk tool
included in the Berkeley DB distribution.</p>
<p>Next, compare the template file code generated by the gen_rec.awk tool
against the code generated by the last release in which you built a
template file.  Any changes in the templates should be incorporated into
the recovery routines you have written.</p>
<p>Third, if your recovery functions refer to <a href="../../api_c/env_set_app_dispatch.html#DB_TXN_FORWARD_ROLL">DB_TXN_FORWARD_ROLL</a>
(that is, your code checks for that particular operation code), you
should replace it with DB_REDO(op) which compares the operation code to
both <a href="../../api_c/env_set_app_dispatch.html#DB_TXN_FORWARD_ROLL">DB_TXN_FORWARD_ROLL</a> and <a href="../../api_c/env_set_app_dispatch.html#DB_TXN_APPLY">DB_TXN_APPLY</a>.
(<a href="../../api_c/env_set_app_dispatch.html#DB_TXN_APPLY">DB_TXN_APPLY</a> is a potential value for the operation code as of
the 4.0 release.)</p>
<p>Finally, if you have created your own logging and recovery routines, we
recommend you contact us and ask us to review those routines for you.</p>
<table width="100%"><tr><td><br></td><td align=right><a href="../upgrade.4.0/cxx.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../toc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../upgrade.4.0/disk.html"><img src="../../images/next.gif" alt="Next"></a>
</td></tr></table>
<p><font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
</body>
</html>
